home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / os2 / isp3009b.zip / GERMAN.AFF < prev    next >
Text File  |  1992-08-14  |  14KB  |  434 lines

  1. #
  2. # $Id: german.aff,v 1.14 1992/01/04 22:08:13 geoff Exp $
  3. #
  4. # Copyright 1988, 1989, by Geoff Kuenning, Manhattan Beach, CA
  5. # Permission for non-profit use is hereby granted.
  6. # All other rights reserved.
  7. # See "version.h" for a more complete copyright notice.
  8. #
  9. # $Log: german.aff,v $
  10. # Revision 1.14  1992/01/04  22:08:13  geoff
  11. # Enable the support for ASCII and Latin-1 versions of the German
  12. # alphabet.
  13. #
  14. # Revision 1.13  91/09/12  00:01:36  geoff
  15. # Change the comments about parameters in local.h, since German-capable
  16. # defaults are now provided in config.X.
  17. # Revision 1.12  91/09/04  14:35:36  geoff
  18. # Get rid of some examples that are actually bad German.
  19. # Revision 1.11  91/07/27  20:48:18  geoff
  20. # Add comments about the local.h parameters needed to support this affix
  21. # file.  Fix a minor cosmetic error.
  22. # Revision 1.10  91/07/15  19:39:26  geoff
  23. # Changes from Andreas Stolcke: major rearrangement of string character
  24. # definitions to support LaTeX's german.sty, plain TeX, nroff with
  25. # -me/-ms/-mm, regular ASCII files, and the ISO Latin-1 set.  Six new
  26. # prefix flags, for the separable um-, ueber-, unter-, hin-, and her-
  27. # prefixes, and for the inseparable zer-prefix.  Thanks, Andreas!
  28. # Revision 1.9  91/07/05  16:48:29  geoff
  29. # Add the "ss" and "SS" pseudo-glyphs as alternate string characters for
  30. # TeX as well as nroff mode.  This is necessary now that string
  31. # characters are only recognized for the active mode.
  32. # Revision 1.8  91/05/27  21:35:27  geoff
  33. # Add string type statements.  Add curly braces to the TeX ess-zed
  34. # characters.  Make "ss" be a string character so it will be suggested
  35. # as a replacement for ess-zed (and vice versa).
  36. # Revision 1.7  90/04/26  22:43:57  geoff
  37. # Add the alternate string character forms for use with TeX.  Also fix
  38. # a syntax error in the "q" flag.
  39. # Revision 1.6  89/12/27  22:26:16  geoff
  40. # Clean up a lot of rules where E was being deleted and re-added
  41. # unnecessarily.  Add a few rules to handle E[LR]N-style verbs.
  42. # Revision 1.5  89/04/28  01:08:12  geoff
  43. # Change Header to Id;  nobody cares about my pathnames.
  44. # Revision 1.4  89/04/27  23:30:40  geoff
  45. # Rewrite to make use of string characters to support the German "special"
  46. # characters.
  47. # Revision 1.3  89/02/18  00:51:47  geoff
  48. # Add some more commentary (primarily disclaimers), and tweak a bunch
  49. # of affix definitions to try to make dictionaries smaller.
  50. # Revision 1.2  88/12/26  02:24:49  geoff
  51. # Update the copyright notice.
  52. # Revision 1.1  88/12/14  00:13:01  geoff
  53. # Initial revision
  54. #
  55. #    Affix table for German
  56. #
  57. # This table is a first cut at a description of the common affixes found
  58. # in the German language.  It is definitely not final.  This
  59. # file should be considered as a suggestion and an example of how a proper
  60. # affix file might be done.  (It is obvious from the experience of trying to
  61. # build this file that a proper affix description must be done by a native
  62. # speaker of the language, at least until such time as I improve "findaffix"
  63. # to handle character-stripping).
  64. #
  65. # If a native German speaker chooses to create a well-thought-out affix
  66. # file, please send a copy to me (geoff@ITcorp.com), both so that I may
  67. # use it myself and so that I may distribute it to the "ispell" community.
  68. # I would also welcome receiving affix files for any other languages.
  69. #
  70. # This affix file uses both upper- and lower-case affix flags, so you
  71. # must #define MASKBITS 64 in your local.h file.
  72. #
  73. # Here's a record of flags used, in case you want to add new ones.
  74. #
  75. #            ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
  76. # Used:      *** ****** ********** **** ***    *** **   *   ******
  77. #            ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
  78. # Available:    -      -          -        ----   -  --- ---      
  79. #
  80.  
  81. allaffixes on
  82.  
  83. # Character-set definitions.  The special-character strings are appropriate
  84. # for use with the "-mm" nroff/troff macro package.  Users of other formatters
  85. # or macro packages will undoubtedly have to modify these definitions.
  86. # The definition of "ess-zed" requires that you define two characters in
  87. # your ".mm" files;  "\*(ss" should expand to "\*b" (the Greek beta, which
  88. # is fairly close to ess-zed) and "\*(SS" should expand to "SS" (two capital
  89. # esses).
  90. #
  91. # These definitions also illustrate a cute little trick.  By declaring the
  92. # non-special string 'ss' as a stringchar, we cause ispell to represent it
  93. # as a single character internally.  This allows ispell to suggest spellings
  94. # that use ess-zed as corrections for spellings using double esses, which is
  95. # good because this is a common spelling error.  The price we pay is that
  96. # ispell will not generate proper corrections for less common typos such
  97. # as "st" for "ss".
  98.  
  99. #
  100. # generic umlauts and sz as used in german word list
  101. # All othertypes are defined relative to this one.
  102. #
  103. defstringtype "list" ".list"
  104.  
  105. wordchars    a    A
  106. stringchar    a\"    A\"
  107. wordchars    [b-o]    [B-O]
  108. stringchar    o\"    O\"
  109. wordchars    [p-s]    [P-S]
  110. stringchar    ss    SS
  111. stringchar    sS    # Ss        # No captalized version
  112. wordchars    [tu]    [TU]
  113. stringchar    u\"    U\"
  114. wordchars    [t-z]    [T-Z]
  115.  
  116. #
  117. # TeX/LaTeX `a la german.sty
  118. #
  119. altstringtype "tex" ".tex" ".bib"
  120.  
  121. altstringchar    \"a    a\"
  122. altstringchar    \"A    A\"
  123. altstringchar    \"o    o\"
  124. altstringchar    \"O    O\"
  125. altstringchar    \"u    u\"
  126. altstringchar    \"U    U\"
  127. altstringchar    \"s    sS
  128. altstringchar    ss    ss
  129. altstringchar    SS    SS
  130.  
  131. #
  132. # Plain TeX
  133. #
  134. altstringtype "plaintex" ".tex"
  135.  
  136. altstringchar    \\\"a    a\"
  137. altstringchar    \\\"A    A\"
  138. altstringchar    \\\"o    o\"
  139. altstringchar    \\\"O    O\"
  140. altstringchar    \\\"u    u\"
  141. altstringchar    \\\"U    U\"
  142. altstringchar    {\\ss}    sS
  143. altstringchar    ss    ss
  144. altstringchar    SS    SS
  145.  
  146. #
  147. # N/Troff with -ms/-me macros packages
  148. #
  149. altstringtype "nroff" ".nr" ".ms" ".me"
  150.  
  151. altstringchar    a\\*\:    a\"
  152. altstringchar    A\\*\:    A\"
  153. altstringchar    o\\*\:    o\"
  154. altstringchar    O\\*\:    O\"
  155. altstringchar    u\\*\:    u\"
  156. altstringchar    U\\*\:    U\"
  157. altstringchar    \\*8    sS
  158. altstringchar    ss    ss
  159. altstringchar    SS    SS
  160.  
  161. #
  162. # N/Troff with -mm macros
  163. #
  164. altstringtype "-mm" ".nr" ".mm"
  165.  
  166. altstringchar    a\\*\:    a\"
  167. altstringchar    A\\*\;    A\"
  168. altstringchar    o\\*\:    o\"
  169. altstringchar    O\\*\;    O\"
  170. altstringchar    u\\*\:    u\"
  171. altstringchar    U\\*\;    U\"
  172. altstringchar    \\*(ss    sS
  173. #altstringchar    \\*(SS    Ss
  174. altstringchar    ss    ss
  175. altstringchar    SS    SS
  176.  
  177. #
  178. # Alternate forms for plain ASCII text files
  179. altstringtype "ascii" ".ascii" ".txt"
  180.  
  181. altstringchar    ae    a\"
  182. altstringchar    Ae    A\"
  183. altstringchar    oe    o\"
  184. altstringchar    Oe    O\"
  185. altstringchar    ue    u\"
  186. altstringchar    Ue    U\"
  187. altstringchar    ss    sS
  188. altstringchar    ss    ss
  189. altstringchar    SS    SS
  190.  
  191. #
  192. # Alternate forms for ISO latin1 charset
  193. #
  194. altstringtype "latin1" ".latin1" ".txt"
  195.  
  196. altstringchar    \344    a\"
  197. altstringchar    \304    A\"
  198. altstringchar    \366    o\"
  199. altstringchar    \326    O\"
  200. altstringchar    \374    u\"
  201. altstringchar    \334    U\"
  202. altstringchar    \337    sS
  203. altstringchar    ss    ss
  204. altstringchar    SS    SS
  205.  
  206. prefixes
  207.  
  208. flag *a:    # Inseparable ab- prefix for verbs
  209.     .            >    AB        # Wie bauen > abbauen
  210.  
  211. flag A:        # Separable an- prefix for verbs
  212.     .            >    AN        # Wie kommen > ankommen
  213.  
  214. flag b:        # Separable bei- prefix for verbs
  215.     .            >    BEI        # Wie kommen > beikommen
  216.  
  217. flag B:        # Separable auf- prefix for verbs
  218.     .            >    AUF        # Wie halten > aufhalten
  219.  
  220. flag c:        # Separable aus- prefix for verbs
  221.     .            >    AUS        # Wie kommen > auskommen
  222.  
  223. flag *C:    # Inseparable be- prefix for verbs
  224.     .            >    BE        # Wie kommen > bekommen
  225.  
  226. flag *e:    # Inseparable er- prefix for verbs
  227.     .            >    ER        # Wie fahren > erfahren
  228.  
  229. flag E:        # Separable ein- prefix for verbs
  230.     .            >    EIN        # Wie ziehen > einziehen
  231.  
  232. flag f:        # Da- compounds
  233.     [^AA"IOO"UU"]    >    DA        # Wie mit > damit
  234.     [AA"EIOO"U"]    >    DAR        # Wie auf > darauf
  235.  
  236. flag F:        # Wo- compounds
  237.     [^AA"EIOO"UU"] >    WO        # Wie mit > womit
  238.     [AA"EIOO"UU"]    >    WOR        # Wie auf > worauf
  239.  
  240. flag G:        # Inseparable ge- prefix for verbs
  241.     .            >    GE        # Wie schlossen > geschlossen
  242.  
  243. flag h:        # Un- prefix for adjectives
  244.     .            >    UN        # Wie gesund > ungesund
  245.  
  246. flag H:        # Separable mit- prefix for verbs
  247.     .            >    MIT        # Wie kommen > mitkommen
  248.  
  249. flag i:        # Separable zu- prefix for verbs
  250.     .            >    ZU        # Wie kommen > zukommen
  251.  
  252. flag *I:    # Inseparable ver- prefix for verbs
  253.     .            >    VER        # Wie kaufen > verkaufen
  254.  
  255. flag j:        # Separable vorbei- prefix for verbs
  256.     .            >    VORBEI        # Wie gehen > vorbeigehen
  257.  
  258. flag J:        # Separable vor- prefix for verbs
  259.     .            >    VOR        # Wie haben > vorhaben
  260.  
  261. flag *u:    # Separable um- prefix for verbs
  262.     .            >    UM        # Wie gehen > umgehen
  263.  
  264. flag *v:    # Separable ueber- prefix for verbs
  265.     .            >    \"UBER        # Wie gehen > uebergehen
  266.  
  267. flag *w:    # Separable unter- prefix for verbs
  268.     .            >    UNTER        # Wie gehen > untergehen
  269.  
  270. flag *x:    # Separable hin- prefix for verbs
  271.     .            >    HIN        # Wie gehen > hingehen
  272.  
  273. flag *y:    # Separable her- prefix for verbs
  274.     .            >    HER        # Wie gehen > hergehen
  275.  
  276. flag *z:    # Inseparable zer- prefix for verbs
  277.     .            >    ZER        # Wie schlagen > zerschlagen
  278.  
  279. suffixes
  280.  
  281. flag l:        # IN for feminizing nouns
  282.     .            >    IN        # Wie Freund > Freundin
  283.  
  284. flag L:        # LICH for creating adverbs
  285.     N            >    TLICH        # Wie wesen > wesentlich
  286.     [^N]        >    LICH        # Wie kind > kindlich
  287.  
  288. flag m:        # INNEN for plural feminine nouns
  289.     .            >    INNEN        # Wie Freund > Freundinnen
  290.  
  291. flag M:        # EM for adjectives
  292.     [^ER]        >    EM        # Wie neu > neuem
  293.     E            >    M        # Wie diese > diesem
  294.     [^E] R        >    EM        # Wie formbar > formbarem
  295.     E R            >    -ER,REM        # Wie teuer > teurem
  296.  
  297. flag n:        # Dxx for making adjectives from verbs
  298.     .            >    D        # Wie schlafen > schlafend
  299.     .            >    DE        # Wie schlafen > schlafende
  300.     .            >    DEN        # Wie schlafen > schlafenden
  301.     .            >    DER        # Wie schlafen > schlafender
  302.     .            >    DES        # Wie schlafen > schlafendes
  303.     .            >    DEM        # Wie schlafen > schlafendem
  304.  
  305. # Note that the first of these rules is the inverse of the du-form
  306. # imperative endings, and the second is the inverse of the ich-form
  307. # endings, and thus this rule could be considered superfluous.
  308. # However, it allows better suggestions to be generated when a word
  309. # is not in the dictionary.  Also, this rule does not participate in
  310. # cross-products.  The price of this is that "munchlist" won't
  311. # generate an optimally small dictionary, so I'm not sure that it is
  312. # worth it.
  313. #
  314. flag N:        # EN for adjectives
  315.     [^ER]        >    EN        # Wie neu > neuen
  316.     E            >    N        # Wie diese > diesen
  317.     [^E] R        >    EN        # Wie formbar > formbaren
  318.     E R            >    -ER,REN        # Wie teuer > teuren
  319.  
  320. flag O:        # E for adjectives
  321.     [^ER]        >    E        # Wie neu > neue
  322.     [^E] R        >    E        # Wie formbar > formbare
  323.     E R            >    -ER,RE        # Wie teuer > teure
  324.  
  325. # Note that the P flag and the S flag are duplicates for [AEIOUSZ].  This
  326. # is harmless (although it causes the raw dictionaries to contain a few
  327. # extra bytes).
  328. #
  329. flag P:        # S for plurals and genitives
  330.     [^SsSZ]        >    S        # Wie Wolfgang > Wolfgangs
  331.     [SsSZ]        >    ES        # Wie Platz > Platzes
  332.  
  333. # See flag N.
  334. #
  335. flag *q:    # Du-form imperative endings
  336.     E N            >    -EN,-        # Wie kommen > komm
  337.     E L N        >    -N,L        # Wie laecheln > laechel
  338.     E R N        >    -N,-        # Wie naehern > naeher
  339.  
  340. # See flag N.
  341. #
  342. flag *Q:    # Ich-endings
  343.     E N             >    -N,-        # Wie kommen > komme
  344.     E L N        >    -ELN,LE        # Wie laecheln > laechle
  345.     E R N        >    -N,E        # Wie naehern > naehere
  346.  
  347. flag R:        # ER for adjectives, nouns, and comparatives
  348.     [^ER]        >    ER        # Wie neu > neuer
  349.     E            >    R        # Wie diese > dieser
  350.     [^E] R        >    ER        # Wie formbar > formbarer
  351.     E R            >    -ER,RER        # Wie teuer > teurer
  352.  
  353. # See flag P.
  354. #
  355. flag S:        # ES for adjectives
  356.     [^E]        >    ES        # Wie neu > neues
  357.     E            >    S        # Wie diese > dieses
  358.     [^E] R        >    ES        # Wie formbar > formbares
  359.     E R            >    -ER,RES        # Wie teuer > teures
  360.  
  361. flag *T:    # Er/sie/es/ihr-form endings
  362.     [DT] E N        >    -N,T        # Wie arbeiten > arbeitet
  363.     [^AA"EIOO"UU"LRMN] [MN] E N
  364.             >    -N,T        # Wie atmen > atmet
  365.     [AA"EIOO"UU"LRMN] [MN] E N
  366.             >    -EN,T        # Wie lernen > lernt
  367.     [^DTMN] E N        >    -EN,T        # Wie leben > lebt
  368.     E L N        >    -N,T        # Wie laecheln > laechelt
  369.     E R N        >    -N,T        # Wie naehern > naehert
  370.  
  371. flag *U:    # Du-form endings
  372.     [DT] E N        >    -N,ST        # Wie arbeiten > arbeitest
  373.     [^AA"EIOO"UU"LRMN] [MN] E N
  374.             >    -N,ST        # Wie atmen > atmest
  375.     [AA"EIOO"UU"LRMN] [MN] E N
  376.             >    -EN,ST        # Wie lernen > lernst
  377.     [SsSZ] E N        >    -EN,T        # Wie heissen > heisst
  378.     [^DTMNSsSZ] E N    >    -EN,ST        # Wie leben > lebst
  379.     E L N        >    -N,ST        # Wie laecheln > laechelst
  380.     E R N        >    -N,ST        # Wie naehern > naeherst
  381.  
  382. flag *W:    # Past-tense ich/er/sie/es-form endings
  383.     [DT] E N        >    -N,TE        # Wie arbeiten > arbeitete
  384.     [^AA"EIOO"UU"LRMN] [MN] E N
  385.             >    -N,TE        # Wie atmen > atmete
  386.     [AA"EIOO"UU"LRMN] [MN] E N
  387.             >    -EN,TE        # Wie lernen > lernte
  388.     [^DTMN] E N        >    -EN,TE        # Wie leben > lebte
  389.     E L N        >    -N,TE        # Wie laecheln > laechelte
  390.     E R N        >    -N,TE        # Wie naehern > naeherte
  391.  
  392. flag *X:    # Past-tense du-form endings
  393.     [DT] E N        >    -N,TEST        # Wie arbeiten > arbeitetest
  394.     [^AA"EIOO"UU"LRMN] [MN] E N
  395.             >    -N,TEST        # Wie atmen > atmetest
  396.     [AA"EIOO"UU"LRMN] [MN] E N
  397.             >    -EN,TEST    # Wie lernen > lerntest
  398.     [^DTMN] E N        >    -EN,TEST    # Wie leben > lebtest
  399.     E L N        >    -N,TEST        # Wie laecheln > laecheltest
  400.     E R N        >    -N,TEST        # Wie naehern > naehertest
  401.  
  402. flag *Y:    # Past-tense ihr-form endings
  403.     [DT] E N        >    -N,TET        # Wie arbeiten > arbeitetet
  404.     [^AA"EIOO"UU"LRMN] [MN] E N
  405.             >    -N,TET        # Wie atmen > atmetet
  406.     [AA"EIOO"UU"LRMN] [MN] E N
  407.             >    -EN,ETET    # Wie ???en > ???etet
  408.     [^DTMN] E N        >    -EN,ETET    # Wie ???en > ???etet
  409.     E L N        >    -N,TET        # Wie laecheln > laecheltet
  410.     E R N        >    -N,TET        # Wie naehern > naehertet
  411.  
  412. flag *Z:    # Past-tense sie/Sie-form endings
  413.     [DT] E N        >    -N,TEN        # Wie arbeiten > arbeiteten
  414.     [^AA"EIOO"UU"LRMN] [MN] E N
  415.             >    -N,TEN        # Wie atmen > atmeten
  416.     [AA"EIOO"UU"LRMN] [MN] E N
  417.             >    -EN,TEN        # Wie lernen > lernten
  418.     [^DTMN] E N        >    -EN,TEN        # Wie leben > lebten
  419.     E L N        >    -N,TEN        # Wie laecheln > laechelten
  420.     E R N        >    -N,TEN        # Wie naehern > naeherten
  421.